﻿using System.Collections.Generic;

namespace FinMkts
{
    /// <summary>
    /// The listing of a market place with a broker
    /// </summary>
    /// <example>
    /// A broker allows you to buy or sell FTSE stocks
    /// </example>
    /// <remarks>
    /// NOTE: this model requires the brokers charges the sames fees for all instruments for this listing.
    /// NOTE: this model requires the brokers list all markets of a market place (no exceptions)
    /// </remarks>
    public class MarketBrokerListing
    {
        /// <summary>
        /// The broker listing this instrument
        /// </summary>
        public MarketBroker Broker { get; set; }

        /// <summary>
        /// The instruments that can be traded
        /// </summary>
        public MarketPlace MarketPlace { get; set; }

        /// <summary>
        /// The (default) times this broker trades this market place
        /// </summary>
        public TradingTimes TradingTimes { get; set; }

        /// <summary>
        /// The default fees payable to buy or sell an instrument
        /// </summary>
        public IEnumerable<TradingFee> Fees { get; set; }
    }
}